import request from '@/config/axios'

// 商品 VO
export interface ProductVO {
  id?: number // 主键id
  deptId?: number // 部门id
  deptName?: string // 部门名称
  areaId?: number // 销售地区
  areaName?: string // 销售地区名称
  websiteId?: number // 所属网站
  websiteName?: string // 网站名称
  userId?: number // 人员id
  language?: string // 语言
  urlSuffix?: string // 链接后缀
  title?: string // 商品标题内部
  titleExternal?: string // 商品标题外部
  titleMessage?: string // 商品标题短信
  subtitle?: string // 商品副标题
  categoryId?: number // 分类id
  categoryName?: string // 分类名称
  tagFlag?: number // 商品标签
  template?: string // 模版
  templateName?: string // 模版名称
  bottomPolicy?: string // 底部政策
  rollId?: number // 滚动购买id
  countdown?: number // 倒计时(0.1-24H)
  saleCount?: number // 销量，非库存
  onlineService?: string // 在线客服
  couponAmount?: number // 优惠卷金额
  facebookContact?: string // 联系方式-facebook
  messengerContact?: string // 联系方式-messenger
  instagramContact?: string // 联系方式-instagram
  whatsappContact?: string // 联系方式-whatsapp
  lineContact?: string // 联系方式-line
  phone?: string // 联系电话
  email?: string // 邮箱
  emailShow?: number // 填写设置-邮箱是否显示
  emailFlag?: number // 填写设置-邮箱是否必填
  zipCodeShow?: number // 填写设置-邮编是否显示
  zipCodeFlag?: number // 填写设置-邮编是否必填
  houseNumberShow?: number // 填写设置-门牌号/建筑物是否显示
  houseNumberFlag?: number // 填写设置-门牌号/建筑物是否必填
  whatsappShow?: number // 填写设置-whatsapp是否显示
  whatsappFlag?: number // 填写设置-whatsapp是否必填
  lineShow?: number // 填写设置-line是否显示
  lineFlag?: number // 填写设置-line是否必填
  homepageFlag?: number // 主页是否显示
  logisticsMethod?: string // 物流方式
  shippingFee?: number // 运费
  remotePostage?: number // 偏远地区邮费
  commission?: number // 手续费
  facebook?: string // facebook像素id
  tiktok?: string // tiktok像素id
  gooogle?: string // google像素id
  snapchat?: string // snapchat像素id
  cover?: string // 封面
  picture?: string // 轮播图
  favicon?: string // 网站图标
  detail?: string // 商品详情
  originalPrice?: number // 原价
  discountedPrice?: number // 折扣价
  thaliFlag?: number // 是否开启套餐  0关闭 1开启
  promotionLink?: string // 推广链接
  type?: number // 商品类型 a商品  b商品
  commodityId?: number | string // b商品id,
  bName?: Array // b商品名称
  purchaseList?: Array // b商品购买列表
  productName?: Array // 商品名称list
}

// 商品 API
export const ProductApi = {
  // 商品新增-获得属性项
  getPropertyList: async (params: any) => {
    return await request.get({ url: `/product/property/getProperty`, params })
  },
  // 查询商品分页
  getProductPage: async (params: any) => {
    return await request.get({ url: `/product/product/page`, params })
  },
  // 查询商品分页
  getProductCommonPage: async (params: any) => {
    return await request.get({ url: `/product/product/common/page`, params })
  },

  // 查询商品详情
  getProduct: async (id: number) => {
    return await request.get({ url: `/product/product/get?id=` + id })
  },

  // 新增商品
  createProduct: async (data: ProductVO) => {
    return await request.post({ url: `/product/product/create`, data })
  },

  // 修改商品
  updateProduct: async (data: ProductVO) => {
    return await request.put({ url: `/product/product/update`, data })
  },
  // 修改规格属性接口
  updateThaliList: async (data: any, productId: string) => {
    return await request.post({
      url: `/product/property/value/updateList/${productId}`,
      data
    })
  },
  // 修改套餐属性
  updateThali: async (data: any, productId: string) => {
    return await request.post({
      url: `/product/thali/updateThaliList/${productId}`,
      data
    })
  },
  // 删除商品
  deleteProduct: async (id: number) => {
    return await request.delete({ url: `/product/product/delete?id=` + id })
  },

  // 导出商品 Excel
  exportProduct: async (params) => {
    return await request.download({ url: `/product/product/export-excel`, params })
  },

  //获取关联商品
  getRelatedProduct: async (id) => {
    return await request.get({
      url: `/product/purchase-suggest/getProductdCorrelationOrder`,
      params: { id }
    })
    return await request.download({ url: `/product/product/export-excel`, params })
  },
  // 查询部门人员列表
  listByDept: async (params: any) => {
    return await request.get({ url: `/system/user/list-by-dept`, params })
  },
  // 查询网站列表
  simpleList: async (params: any) => {
    return await request.get({ url: `/website/web-site/simple-list`, params })
  },
  // 查询网站服务政策列表
  policySimpleList: async (params: any) => {
    return await request.get({ url: `/website/web-service-policy/simple-list`, params })
  },
  // 查询滚动购买人员分页
  rollPage: async (params: any) => {
    return await request.get({ url: `/product/roll/page`, params })
  },
  // 根据商品id获得属性值
  getByProductId: async (params: any) => {
    return await request.get({ url: `/product/product/getSpecsByProductId`, params })
  },
  // 根据商品id获得套餐
  getThaliList: async (params: any) => {
    return await request.get({ url: `/product/product/getThaliByProductId`, params })
  },
  // 复制商品
  copyProduct: async (data: any) => {
    return await request.post({ url: `/product/product/copy`, data })
  },
  // 查询商品评论分页
  commentPage: async (params: any) => {
    return await request.get({ url: `/product/comment/page`, params })
  },
  // 获取推荐商品
  // /product/product/getProductRecommend
  getProductRecommend: async (params: any) => {
    return await request.get({ url: `/product/product/getProductRecommend`, params })
  },
  // 创建推荐商品
  createProductRecommend: async (data: any) => {
    return await request.post({ url: `/product/product/createProductRecommend`, data })
  },
  // /product/set/create
  // 创建商品设置
  createSet: async (data: any) => {
    return await request.post({ url: `/product/set/create`, data })
  },
  // /product/set/get
  // 获取商品设置
  getSet: async (data: any) => {
    return await request.get({ url: `/product/set/get`, data })
  },
  // /product/set/update
  // 修改商品设置
  updateSet: async (data: any) => {
    return await request.put({ url: `/product/set/update`, data })
  },
  // /system/web-diy-template/template/page
  // 获取模板列表
  templatePage: async (params: any) => {
    return await request.get({ url: `/system/web-diy-template/template/page`, params })
  },
  // /product/product/recovery
  recoveryProduct: async (params) => {
    return await request.get({ url: `/product/product/recovery`, params })
  },
  // system/user/list-all-simple
  // 获取所有人员列表
  listAllSimple: async (params: any) => {
    return await request.get({ url: `/system/user/list-all-simple`, params })
  },
  // 获得关联商品
  getProductdCorrelations: async (params: any) => {
    return await request.get({ url: `/product/product/getProductdCorrelation`, params })
  },
  // 修改模板置顶
  updateTop: async (params: any) => {
    return await request.put({ url: `/system/web-diy-template/update-top`, params })
  },
  // /product/thali/page
  // 获取套餐列表
  getThaliPage: async (id) => {
    return await request.get({ url: `/product/thali/page?productId=` + id })
  },
  // 根据地区获取物流方式
  getGlobeStateMethod: async (params: any) => {
    return await request.get({ url: `/trade/globe-state-method/queryGlobeStateMethodPage`, params })
  },

  // 根据地区获取物流方式
  getGlobeStateMethodOld: async (params: any) => {
    return await request.get({ url: `/trade/globe-state-method/page`, params })
  },
  // 回收站删除
  deleteRecycle: async (id: number) => {
    return await request.get({ url: `/product/product/recoveryDelete?id=` + id })
  },
  // http://172.17.20.131:48080/admin-api/product/product/getProductId?templateId=5
  // 根据模版id获取商品id
  getProductId: async (templateId: any) => {
    return await request.get({ url: `/product/product/getProductId?templateId=` + templateId })
  }
}

export const rules = {
  deptId: [{ required: true, message: '请选择部门', trigger: 'change' }],
  areaId: [{ required: true, message: '请选择销售地区', trigger: 'change' }],
  websiteId: [{ required: true, message: '请选择所属网站', trigger: 'change' }],
  userId: [{ required: true, message: '请选择人员', trigger: 'change' }],
  // purchaseList: [{ required: true, message: '请选择b商品购买列表', trigger: 'change' }],
  // urlSuffix: [{ required: true, message: '请选择链接后缀', trigger: 'change' }],
  language: [{ required: true, message: '请选择语言', trigger: 'change' }],
  titleExternal: [{ required: true, message: '请选择商品标题外部', trigger: 'change' }],
  title: [{ required: true, message: '请选择商品标题内部', trigger: 'change' }],
  // titleMessage: [{ required: true, message: '请选择商品标题短信', trigger: 'change' }],
  // tagFlag: [{ required: true, message: '请选择商品标签', trigger: 'change' }],
  template: [{ required: true, message: '请选择模版', trigger: 'change' }],
  cover: [{ required: true, message: '请选择封面', trigger: 'change' }],
  picture: [{ required: true, message: '请选择轮播图', trigger: 'change' }],
  // favicon: [{ required: true, message: '请选择网站图标', trigger: 'change' }],
  detail: [{ required: true, message: '请选择商品详情', trigger: 'change' }],
  originalPrice: [{ required: true, message: '请输入原价', trigger: 'blur' }],
  logisticsMethod: [{ required: true, message: '请选择物流方式', trigger: 'change' }]
  // logisticsMethods: [{ required: true, message: '请选择物流方式', trigger: 'change' }]
  // department: [{ required: true, message: '请选择模板', trigger: 'change' }]
}
